﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using TpBaseObjects.Base;

namespace TpBaseObjects.Models.BusinessCases {
    
    public class BusinessCasesSelectModel : MyBaseModel {

        #region Members

        private DateTime createdFrom;
        private DateTime createdTo;
        private byte customerGroup;
        private int customerSource;
        private int fileUserID;
        private bool intern;
        private string projectAddress;
        private int projectEPLZ;
        private byte projectStatus;
        private int purchaser;

        #endregion

        #region Constructor

        public BusinessCasesSelectModel() {
            this.createdFrom = new DateTime(DateTime.Now.Year, 1, 1);
            this.createdTo = DateTime.Now.Date;
        }

        #endregion

        #region Properties

        [DataMember]
        public DateTime CreatedFrom {
            get { return this.createdFrom; }
            set {
                if (this.createdFrom == value) {
                    return;
                }
                this.createdFrom = value;
                OnPropertyChanged(() => CreatedFrom);
            }
        }

        [DataMember]
        public DateTime CreatedTo {
            get { return this.createdTo; }
            set {
                if (this.createdTo == value) {
                    return;
                }
                this.createdTo = value;
                OnPropertyChanged(() => CreatedTo);
            }
        }

        [DataMember]
        public byte CustomerGroup {
            get { return this.customerGroup; }
            set {
                if (this.customerGroup == value) {
                    return;
                }
                this.customerGroup = value;
                OnPropertyChanged(() => CustomerGroup);
            }
        }

        [DataMember]
        public int CustomerSource {
            get { return this.customerSource; }
            set {
                if (this.customerSource == value) {
                    return;
                }
                this.customerSource = value;
                OnPropertyChanged(() => CustomerSource);
            }
        }

        [DataMember]
        public int FileUserID {
            get { return this.fileUserID; }
            set {
                if (this.fileUserID == value) {
                    return;
                }
                this.fileUserID = value;
                OnPropertyChanged(() => FileUserID);
            }
        }

        [DataMember]
        public bool Intern {
            get { return this.intern; }
            set {
                if (this.intern == value) {
                    return;
                }
                this.intern = value;
                OnPropertyChanged(() => Intern);
            }
        }

        [DataMember]
        public string ProjectAddress {
            get { return this.projectAddress; }
            set {
                if (this.projectAddress == value) {
                    return;
                }
                this.projectAddress = value;
                OnPropertyChanged(() => ProjectAddress);
            }
        }

        [DataMember]
        public int ProjectEPLZ {
            get { return this.projectEPLZ; }
            set {
                if (this.projectEPLZ == value) {
                    return;
                }
                this.projectEPLZ = value;
                OnPropertyChanged(() => ProjectEPLZ);
            }
        }

        [DataMember]
        public byte ProjectStatus {
            get { return this.projectStatus; }
            set {
                if (this.projectStatus == value) {
                    return;
                }
                this.projectStatus = value;
                OnPropertyChanged(() => ProjectStatus);
            }
        }

        [DataMember]
        public int Purchaser {
            get { return this.purchaser; }
            set {
                if (this.purchaser == value) {
                    return;
                }
                this.purchaser = value;
                OnPropertyChanged(() => Purchaser);
            }
        }

        #endregion

    }
}
